package com.abner.test;

/**
 * 1、内部类被加载和初始化时，才创建INSTANCE实例对象
 * 2、静态内部类不会自动创建,随着外部类的加载初始化而初始化，他是要单独去加载和实例化的
 * 3、因为是在内部类加载和初始化时，创建的，因此线程安全
 * @author abner
 */
public class Lazy1 {

    private Lazy1() {}

    private static class Inner {
        private static final Lazy1 l1 = new Lazy1();
    }

    public Lazy1 init() {
        return Inner.l1;
    }
}
